An attempt to overcome these disadvantages was disclosed by Stanley Edward Ozga in U.S. Pat. No. 4,097,920 issued Jun. 27, 1978. In one of his embodiments, Ozga replaces the loop control (i.e., branch) instruction with a special bit added to each instruction of the loop. Presence of that special bit indicates that the corresponding instruction is located within the loop. Disadvantages of ozga include the need for an additional one bit field in each instruction to indicate the loop status. Also the end of the loop cannot be determined until the last loop instruction is at least partially decoded.
An improvement to Ozga is disclosed by Ysef Linde in U.S. Pat. No. 4,462,074 issued on Jul. 24, 1984. Linde discloses the use of a special register to store the address of the final loop instruction. Although this means that the final loop instruction can be identified without a special bit field or decoding of the final instruction, the operation involves a complex comparison between the final loop instruction address stored in the special register and the program counter.
U.S. Pat. No. 4,463,422, issued to James F. Storer, et al. on Jul. 31, 1984, discloses an alternative to Linde which redefines an arithmetic instruction which performs branching as well. Though Storer et al., does not explain the method of implementing the new instruction, it is conceivably analogous to the ozga reference with the attendant advantages and disadvantages.
U.S. Pat. No. 4,652,997 issued to Kloker on Mar. 24, 1987; U.S. Pat. No. 4,566,063 issued to Zolnowsky et al. on Jan. 21, 1986; U.S. Pat. No. 4,179,737 issued to Kim on Dec. 18, 1979; and U.S. Pat. No. 4,429,361 issued to Maccianti et al. on Jan. 31, 1984, all disclose additional embodiments of nested loop hardware, each of which having a combination of the disadvantages of Ozga and Linde.